Gemini (protocolo)

O protocolo Gemini é um protocolo de camada de aplicação para sistemas de informação de hipertexto distribuídos que fornece acesso a documentos simples, principalmente textuais, no Gemini space . Isso é feito com tecnologias contemporâneas, como TLS, melhorando assim a privacidade e a agência do usuário em relação à web. O protocolo está sendo projetado de forma colaborativa e não está sendo padronizado como um padrão da Internet .

O design é inspirado no protocolo Gopher, mas exige o uso do Transport Layer Security com confiança no primeiro uso (TOFU) [1] e recursos relacionados à privacidade. Não se destina a substituir Gopher ou HTTP, mas sim a coexistir com eles.[2][3]

Gemini é projetado dentro da estrutura do pacote de protocolos da Internet . Como o HTTP(S), o Gemini funciona como um protocolo de requisição-resposta no modelo de computação cliente-servidor. Um navegador Gemini (como um navegador HTTP ), por exemplo, pode ser o cliente e um aplicativo em execução em um computador que hospeda um site Gemini pode ser o servidor . O cliente envia uma mensagem de requisição Gemini ao servidor.

Os recursos Gemini são identificados e localizados na rede por Uniform Resource Locators (URLs), usando o esquema de URI gemini:// que é análogo ao https:// para a web HTTPS. Não existe nenhum análogo inseguro dentro do Gemini para o esquema http:// original. Como ocorre com o hipertexto HTTP, os URIs são codificados como hiperlinks em documentos gem-text, de modo a formar documentos de hipertexto interligados na "web" Gemini, que os usuários chamam de Gemini space.[4]

Muito parecidas com a especificação HTTP 0.9 original, as requisições Gemini consistem apenas de uma dada URL, e as especificações de rascunho atuais exigem que este formato de solicitação não seja extensível, a fim de preservar um dos objetivos declarados do projeto, a simplicidade, e assim diferenciar o caminho que o Gemini vai seguir para se diferenciar do HTTP. Em uma escolha de design consciente análoga à do HTTP/0.9 original, o Gemini usa uma conexão separada com o mesmo servidor para cada solicitação de recurso. Este design, para simplicidade e controle do usuário, não permite que mais dados sejam solicitados ou fornecidos pelo servidor sem mais solicitações explícitas do cliente. Embora o custo disso possa ser maior latência no estabelecimento de conexões TCP, a intenção do Gemini é fornecer uma web de documentos mais simples (em contraste, por exemplo, a imagens embutidas), que deve carregar rapidamente em redes modernas mesmo com essa escolha.

  1. ew0k (2020-12-06). gemini://tilde.team/~ew0k/posts/certificate-security.gmi. Retrieved 2020-12-08. "Most gemini browsers will make a fair attempt at validating the certificate: first check if the Common Name or Subject Alternative Names match the requested hostname, then check the not-valid-before and not-valid-after dates, then check if we've visited this host before and if the cert provided now matches the cert provided last time."
  2. Erro de citação: Etiqueta <ref> inválida; não foi fornecido texto para as refs de nome faq
  3. Erro de citação: Etiqueta <ref> inválida; não foi fornecido texto para as refs de nome oldvcr
  4. Erro de citação: Etiqueta <ref> inválida; não foi fornecido texto para as refs de nome lagrange

Developed by StudentB